﻿// Variables asociadas a los formularios
var login_usuario 			= localStorage['login_usuario'];
var hay_conexion 			= localStorage['hay_conexion'];

var id_opcion				= null;
var id_senal 				= null;


// onDeviceReady - Phonegap inicializacion
function onDeviceReady() 
{
	validar_conexion_internet();
}


// pagebeforecreate
$( '#consultarSenal' ).live( 'pagebeforecreate',function(event){
  	
});


// pagecreate
$( '#consultarSenal' ).live( 'pagecreate',function(event){
	
	$("#div_sopor_sen").hide();
	$("#div_datos_sem").hide();
	
	// Seteamos los Valores correspondientes a la Alcaldia
	cargar_encabezado();
	cargar_pie_pagina();
	
	cargar_encabezado_mapa();
	cargar_pie_pagina_mapa();
	
	
	// OnClick
	$('#atras, #atras2').click(function()
	{
		location.href="SubMenuSenal.html";
	});
	
	$('#inicio').click(function()
	{
		location.href="MenuPrincipal.html";
	});
	
	$('#verMapa').click(function()
	{
		if ( $('#id_senal').val() != "" && $('#coord_x').val() != "" && $('#coord_y').val() != "" )
		{
			// Si Hay Conexión con el Servidor
			if ( localStorage['hay_conexion'] == "true" ) 
			{
				location.href="#mapaInternoSenal";
			}
			else
			{
				navigator.notification.alert("ATENCIÓN: No se pudo Ver el Mapa de la Señal de Tránsito debido a que actualmente no hay Conexión.", null, acronimo_sistema, "Aceptar");
			}
		}
		else
		{
			navigator.notification.alert("ATENCIÓN: Debe Consultar la Señal de Tránsito que desea Ver en el Mapa.", null, acronimo_sistema, "Aceptar");
		}
	});
	
	
	$('#consultar').click(function()
	{
		var validacion = consultar_senal();
		if ( validacion ) {
			
			/*
			// Validamos la Conexión con el Servidor
			var conexion = checkConnection();
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( conexion ) {
			*/	
			
			// Si Hay Conexión con el Servidor -> Llamamos al Servicio
			if ( localStorage['hay_conexion'] == "true" ) 
			{
			
				// Llamamos al Servicio
				var ajaxManager = $.manageAjax.create('cola_ajax',{manageType: 'queue', maxReq: 0, blockSameRequest:true});
				
				ajaxManager.add({
					type: "POST",
					url:  url_servicio_senal,
					data: "servicio=consultar_datos_sen"+"&"+
						  "id_municipio_base="+id_municipio_base+"&"+
						  "id_opcion="+id_opcion+"&"+
						  "id_senal="+id_senal+"&"+
						  "device_uuid="+device.uuid+"&"+
						  "device_platform="+device.platform+"&"+
						  "login_registro="+login_usuario,
					dataType: 'xml',
					success: function(response_xml)
					{
						$xml_resultado = $(response_xml);
						$status = $xml_resultado.find("status");
						
						if($status.length)
						{
							$status.each(function()
							{
								if($(this).text()=="S")
								{
									
								}
								else if($(this).text()=="N")
								{
									
								}
							});
							
							$datos_sen = $xml_resultado.find("datos_sen");
							
							if($datos_sen.length)
							{
								if ( $datos_sen.text() != "VACIO" )
								{
									$datos_sen.each(function()
									{
										$('#id_senal').attr("value",$xml_resultado.find("id_senal").text());
										$('#coord_x').attr("value",$xml_resultado.find("coord_x").text());
										$('#coord_y').attr("value",$xml_resultado.find("coord_y").text());
										
										id_tipo_sen 	= $xml_resultado.find("id_tipo_sen").text();
										id_categ_sen	= $xml_resultado.find("id_categ_sen").text();
										id_senal_tra 	= $xml_resultado.find("id_senal_tra").text();
										
										$('#nombre_tipo_sen').attr("value",$xml_resultado.find("nombre_tipo_sen").text());
										$('#nombre_categ_sen').attr("value",$xml_resultado.find("nombre_categ_sen").text());
										$('#nombre_senal_tra').attr("value",$xml_resultado.find("nombre_senal_tra").text());
										
										if ( id_tipo_sen == 1 || id_tipo_sen == 2 || id_tipo_sen == 3 || id_tipo_sen == 5 || id_tipo_sen == 6 || id_tipo_sen == 7 ) 
										{
											$('#nombre_tipo_sop').attr("value",$xml_resultado.find("nombre_tipo_sop").text());
											$("#div_sopor_sen").show();
										} 
										else 
										{
											$('#nombre_tipo_sop').attr("value","");
											$("#div_sopor_sen").hide();
										}
										
										$('#nombre_estad_sen').attr("value",$xml_resultado.find("nombre_estad_sen").text());
										$('#nombre_status_sen').attr("value",$xml_resultado.find("nombre_status_sen").text());
										
										$('#fecha_instalacion').attr("value",$xml_resultado.find("fecha_instalacion").text());
										$('#estandar').attr("value",$xml_resultado.find("estandar").text());
										
										desc_image_sen = $xml_resultado.find("desc_image_sen").text();
										imprimirImageSenalTra( desc_image_sen );
										
										$('#h_desc_image_sen').attr("value",$xml_resultado.find("desc_image_sen").text());
										
										setearDimensionImageSen( id_senal_tra );
										
										if ( id_tipo_sen == 9 ) 
										{
											$('#nombre_tipo_pos').attr("value",$xml_resultado.find("nombre_tipo_pos").text());
											$('#nro_postes').attr("value",$xml_resultado.find("nro_postes").text());
											$('#nro_caras').attr("value",$xml_resultado.find("nro_caras").text());
											$('#nro_contadores').attr("value",$xml_resultado.find("nro_contadores").text());
											$('#nombre_estad_con').attr("value",$xml_resultado.find("nombre_estad_con").text());
											$('#nombre_model_con').attr("value",$xml_resultado.find("nombre_model_con").text());
											$('#nro_fases').attr("value",$xml_resultado.find("nro_fases").text());
											$('#ciclo').attr("value",$xml_resultado.find("ciclo").text());
											$("#div_datos_sem").show();
										} 
										else 
										{
											$('#nombre_tipo_pos').attr("value","");
											$('#nro_postes').attr("value","");
											$('#nro_caras').attr("value","");
											$('#nro_contadores').attr("value","");
											$('#nombre_estad_con').attr("value","");
											$('#nombre_model_con').attr("value","");
											$('#nro_fases').attr("value","");
											$('#ciclo').attr("value","");
											$("#div_datos_sem").hide();
										}
										
										$('#nombre_estado').attr("value", nombre_estado_base );
										$('#nombre_municipio').attr("value", nombre_municipio_base );
										$('#nombre_parroquia').attr("value",$xml_resultado.find("parroquia").text());
										$('#nombre_sector').attr("value",$xml_resultado.find("sector").text());
										$('#nombre_tipo_via').attr("value",$xml_resultado.find("nombre_tipo_via").text());
										$('#referencia').attr("value",$xml_resultado.find("referencia").text());
										
										$('#nombre_usuario_reg').attr("value",$xml_resultado.find("nombre_usuario_reg").text());
										$('#fecha_registro').attr("value",$xml_resultado.find("fecha_registro").text());
										
										$('#h_coord_x_centro').attr("value",$xml_resultado.find("coord_x_centro").text());
										$('#h_coord_y_centro').attr("value",$xml_resultado.find("coord_y_centro").text());
										$('#h_zoom_centro').attr("value",$xml_resultado.find("zoom_centro").text());
										$('#observaciones_sen').attr("value",$xml_resultado.find("observaciones_sen").text());
										
										navigator.notification.alert("Información Cargada Exitosamente.", null, acronimo_sistema, "Aceptar");
									});
								} 
								else 
								{
									limpiarConsultarDatosSen();
									navigator.notification.alert("No se encontro una Señal de Tránsito con el ID indicado.", null, acronimo_sistema, "Aceptar");
								}
							}                  		
							else
							{
								navigator.notification.alert("No hay Descripción de la Señal.", null, acronimo_sistema, "Aceptar");
							}
						}
						else
						{
							navigator.notification.alert("No hay Respuesta del Servicio.", null, acronimo_sistema, "Aceptar");
						}
					}
				});
				
				//navigator.notification.alert("Señal de Tránsito Consultada Existosamente. (SERVICIO)", null, acronimo_sistema, "Aceptar");
			
			// Si no Hay Conexión con el Servidor
			} else {
				
				if ( debbugModeDM ) {
					// Se consultan los Datos de la Señal LOCALMENTE (Funcion deshabilitada)
					consultarDatosSen( id_senal );
					navigator.notification.alert("Señal de Tránsito Consultada Existosamente. (LOCALMENTE)", null, acronimo_sistema, "Aceptar");
					
				} else {
					navigator.notification.alert("ATENCIÓN: No se pudo Consultar la Señal de Tránsito debido a que actualmente no hay Conexión.", null, acronimo_sistema, "Aceptar");
				}
			}
		} else {
			// DATA DE ENTRADA NO VALIDA
		}
	});
});


// pageinit
$('#consultarSenal').live('pageinit',function(event) {
	
	// OnChange
	
});


// pageshow
$( '#consultarSenal' ).live( 'pageshow',function(event){
	
});


// =================================================================================================================
// =============================================== Consultar una Señal =============================================
// =================================================================================================================

function consultar_senal() {
    
	id_opcion				= $('#id_opcion').val();
	
	id_senal 				= $('#id_senal').val();
	
    if ( id_senal == "" ) {
        navigator.notification.alert("Debe indicar el ID de la Señal de Tránsito que desea Consultar", null, acronimo_sistema, "Aceptar");				return false;
    } else if ( !IsNumeric(id_senal) ) {
        navigator.notification.alert("El ID de la Señal a Consultar debe ser un Número", null, acronimo_sistema, "Aceptar");							return false;
	
    } else {
        // navigator.notification.confirm("ATENCIÓN: ¿Esta seguro de que desea Consultar la Señal de Tránsito?", null, acronimo_sistema, "Aceptar,Cancelar")
		if ( window.confirm ("ATENCIÓN: ¿Esta seguro de que desea Consultar la Señal de Tránsito?") ) {
            return true;
        } else {
            navigator.notification.alert("La Operación de Consultar la Señal de Tránsito ha sido cancelada.!", null, acronimo_sistema, "Aceptar");
			return false;
        }
    }
}





// =================================================================================================================
// =============================================== Mapa de una Señal ===============================================
// =================================================================================================================

// pagebeforecreate
$( '#mapaInternoSenal' ).live( 'pagebeforecreate',function(event) {
  	pintar_mapa_senal();
});


// pagecreate
$( '#mapaInternoSenal' ).live( 'pagecreate',function(event) {
	
	//OnClick
	
});


// pageinit
$( '#mapaInternoSenal' ).live( 'pageinit',function(event) {
	
	// OnChange
	$('#map_canvas').gmap('refresh');
	
});


// pageshow
$( '#mapaInternoSenal' ).live( 'pageshow',function(event) {
	pintar_mapa_senal();
});


var ancho_peq 			= 0;
var alto_peq 			= 0;
var ancho_med 			= 0;
var alto_med 			= 0;


// =================================================================================================================
// ======================================== Pinta el Mapa de una Señal =============================================
// =================================================================================================================

function pintar_mapa_senal() {
	// Inicializamos y Seteamos las Variables del Marcador
	var id_senal			= $('#id_senal').val();
	var coord_x_centro		= $('#h_coord_x_centro').val();
	var coord_y_centro		= $('#h_coord_y_centro').val();
	
	var zoom_centro			= $('#h_zoom_centro').val();
	
	var point 				= new google.maps.LatLng( parseFloat(coord_x_centro).toFixed(8), parseFloat(coord_y_centro).toFixed(8) );
	
	var nombre_senal_tra 	= $('#nombre_senal_tra').val();
	
	var desc_image_sen		= $('#h_desc_image_sen').val();
	
	// Seteamos la Informacion de la Imagen del Marcador
	ancho_peq 				= $('#h_ancho_peq').val();
	alto_peq 				= $('#h_alto_peq').val();
	ancho_med 				= $('#h_ancho_med').val();
	alto_med 				= $('#h_alto_med').val();
	
	setear_dimension_imagen( desc_image_sen );
	
	var icono_marker = "../img/senales/peq/" + desc_image_sen + ".gif";
	var image = new google.maps.MarkerImage( icono_marker,
		new google.maps.Size( ancho_peq, alto_peq ),
		new google.maps.Point( 0, 0 ),
		new google.maps.Point( parseInt(ancho_peq/2), parseInt(alto_peq/2) ));
	
	$( '#map_canvas' ).gmap({ 	'panControl'            : false,
								'mapTypeControl'        : false,
								'streetViewControl'     : false,
								'mapTypeId'             : google.maps.MapTypeId.ROADMAP
							});
	
	$( '#map_canvas' ).gmap({ 'center': point, 'zoom': parseInt(zoom_centro) });
	$( '#map_canvas' ).gmap('option', 'center', point);
	$( '#map_canvas' ).gmap('option', 'zoom', parseInt(zoom_centro));
	
	// Eliminamos los Marcadores Existentes
	$( '#map_canvas' ).gmap('clear', 'markers');
	
	var marker = new google.maps.Marker({
		position: point, 
		title: nombre_senal_tra, 
		icon: image,
		bounds: false
	});
	
	var html = "";
		html += "<div class='globo'>";
			html += "<div id='tit'>";
				html += "ID: " + id_senal;
			html += "</div>";
			html += "<div id='cont'>";
				html += "<table width='100%'>";
					html += "<tr>";
						html += "<td>";
							html += "<b>" + nombre_senal_tra + "</b><br/>";
						html += "</td>";
					html += "</tr>";
				html += "<table>";								
			html += "</div>";
		html += "</div>";
		
	$( '#map_canvas' ).gmap('addMarker', marker).click(function() {
		$( '#map_canvas' ).gmap('openInfoWindow', { 'content': html }, this);
	});
	
	$( '#map_canvas' ).gmap('refresh');
}